package com.mall.product.server.mapper;

import java.util.List;

import com.mall.product.common.domain.PmsShop;
import com.mall.product.common.domain.PmsSkuInfo;
import org.apache.ibatis.annotations.Mapper;

/**
 * sku信息Mapper接口
 *
 * @author 杨丙召
 * @date 2024-12-19
 */
@Mapper
public interface PmsSkuInfoMapper
{
    /**
     * 查询sku信息
     *
     * @param skuId sku信息主键
     * @return sku信息
     */
    public PmsSkuInfo selectPmsSkuInfoBySkuId(Long skuId);

    /**
     * 查询sku信息列表
     *
     * @param pmsSkuInfo sku信息
     * @return sku信息集合
     */
    public List<PmsSkuInfo> selectPmsSkuInfoList(PmsSkuInfo pmsSkuInfo);

    /**
     * 新增sku信息
     *
     * @param pmsSkuInfo sku信息
     * @return 结果
     */
    public int insertPmsSkuInfo(PmsSkuInfo pmsSkuInfo);

    /**
     * 修改sku信息
     *
     * @param pmsSkuInfo sku信息
     * @return 结果
     */
    public int updatePmsSkuInfo(PmsSkuInfo pmsSkuInfo);

    /**
     * 删除sku信息
     *
     * @param skuId sku信息主键
     * @return 结果
     */
    public int deletePmsSkuInfoBySkuId(Long skuId);

    /**
     * 批量删除sku信息
     *
     * @param skuIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deletePmsSkuInfoBySkuIds(Long[] skuIds);


    /**
     * 根据商户Id查询低库存sku列表
     * @param shopId
     * @return
     */
    public List<PmsSkuInfo> selectByShopId(Long shopId);

    /**
     * 根据商户Id查询商户详细信息
     * @param shopId
     * @return
     */
    PmsShop findShopByShopId(Long shopId);

    /**
     * 根据商户Id查看低库存列表
     * @param shopId
     * @return
     */
    List<PmsSkuInfo> findLowInventoryNumSkuList(Long shopId);
}
